// 1.用户上滑页面 滚动条触底 开始加载下一页数据
// 1.找到滚动条触底页面
// 2.判断还有没有下一页数据
      // 1.获取到总页数
        // 总页数 = Math.ceil(总条数 / 也容量 pagesize)
                  //总页数 = Math.ceil(23 / 10) = 3
      // 2.获取到当前的页码 pagenum
      // 3.判断一下 当前的页码是否大于等于 总页数
            // 表示没有下一页数据

// 3.假如没有下一页数据 弹出一个提示
// 4.假如还有下一页数据 来加载下一页数据
      // 1.当前的页码
      // 2.重新发送请求
      // 3.数据请求回来 要对Data中的数组 进行拼接 为不是全部替换

// 0 引入用来发送请求的 方法
import { request } from "../../request/index.js"
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs:[{
      id:0,
      value:"综合",
      isActive:true
    },
    {
      id:1,
      value:"销量",
      isActive:false
    },
    {
      id:2,
      value:"价格",
      isActive:false
    }],
    
    goodsList:[]

  },
  //接口要的参数
  QueryParams:{
    query:"",
    cid:"",
    pagenum:"1",
    pagesize:"10"
  },

  totalPages:1,

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.QueryParams.cid=options.cid || "";
    this.QueryParams.query=options.query || "";
    this.getGoodsList();
  },

  //获取商品列表数据
    async getGoodsList(){
      const res = await request({url:"/goods/search",data:this.QueryParams});
      // console.log(res);
      //获取 总条数
      const total = res.total;
      //计算总页数
      this.totalPages = Math.ceil(total/this.QueryParams.pagesize);
      // console.log(this.totalPages);
       
     this.setData({
       //拼接了数组
      goodsList:[...this.data.goodsList,...res.goods]
     })
         
    //关闭下拉刷新的窗口
    wx.stopPullDownRefresh();
      
    },

  //标题点击事件 从子组件传递过来
  handleTabsItemChange(e){

  },

  //标题的点击事件
  handTabsItemChange(e){
    // console.log(e);
    //获取被点击的标题的索引
    const {index} = e.detail
    //2.修改原数组，激活选中效果
    let {tabs}  = this.data
    tabs.forEach((v,i) =>i===index?v.isActive=true:v.isActive = false);
    //3.赋值到data中
    this.setData({
      tabs
    })
    
  },
  //页面上滑 滚动条触底事件
  onReachBottom(){
    // console.log("触及页底");
    //1.判断还有没有下一页数据
    if(this.QueryParams.pagenum>= this.totalPages){
      //没有下一页数据
      // console.log("美哟下一页数据");
      wx.showToast({
        title: '没有下一页数据了',
      });
      
    }else{
      this.QueryParams.pagenum++;
      this.getGoodsList();
      
    }
  },
  // 下拉刷新事件
  onPullDownRefresh(){
    //重置数组
    this.setData({
      goodsList:[]
    })
    //重置页码
    this.QueryParams.pagenum = 1;
    //发送请求
    this.getGoodsList();

  }
})